package com.hsgene.user.service;

import com.hsgene.common.util.result.ApiResult;
import com.hsgene.common.util.result.NullObject;
import com.hsgene.user.domain.GeneticTestingUser;
import com.hsgene.user.dto.register.EmployeeRegisterDto;
import com.hsgene.user.dto.register.ManagerRegisterDto;
import com.hsgene.user.dto.register.RegisterDto;
import com.hsgene.user.dto.user.customer.CustomerDto;

/**
 * 用户注册Service
 *
 * @author wangbing
 * @version 1.0, 2018/7/2
 */
public interface RegisterService {

    /**
     * 普通用户注册
     *
     * @param registerInfo 注册信息
     * @return 注册结果
     */
    ApiResult<CustomerDto> addCustomer(RegisterDto registerInfo);

    /**
     * 超级管理员注册
     *
     * @param registerInfo 注册信息
     * @return 注册结果
     */
    ApiResult<NullObject> addManager(ManagerRegisterDto registerInfo);

    /**
     * 注册用户信息
     *
     * @param registerInfo 注册信息
     * @return 注册结果
     */
    ApiResult<GeneticTestingUser> registerCustomer(RegisterDto registerInfo);
}
